package framework.classification.library;

import java.util.ArrayList;

import framework.classification.entities.ClAbstractEntity;
import framework.classification.entities.ClInterfaceProvided;
import framework.classification.entities.ClInterfaceRequired;
import framework.entity.ACLComponent;
import framework.entity.ACLEntity;
import framework.entity.ACLFunction;
import framework.entity.ACLInterface;

public interface IClassificationDirectory {

	
	public void computeClassification();
	
	public ArrayList<ACLFunction> getSubstituteFunctionRequired(String name);
	public ArrayList<ACLFunction> getSubstituteFunctionProvided(String name);
	public ArrayList<ACLInterface> getSubstituteInterfaceRequired(String name);
	public ArrayList<ACLInterface> getSubstituteInterfaceProvided(String name);
	public ArrayList<ACLComponent> getSubstituteComponent(String name,ClAbstractEntity cl);
	
	public ArrayList<ClAbstractEntity> getConnection(ClInterfaceProvided cl);
	
	public ArrayList<ClAbstractEntity> getConnection(ClInterfaceRequired cl);
	
	
}
